The present invention relates to an input/output control system in a virtual machine system (VMS), and more particularly to an input/output control system in the VMS which allows hardware to directly execute an input/ output instruction from an OS on a virtual machine (VM) and a related input/output interruption without intervention of a virtual machine control program (VMCP).
The virtual machine system (VMS) has the same hardware configuration (a central processing unit, a main storage and input/output devices) as that of a real host computer but the virtual machine control program (VMCP) is loaded on the main storage so that a plurality of logical machines (which are hereinafter referred to as virtual machines (VM's) are logically configured by a hardware simulation function of the VMCP to perform various processings. FIG. 10 shows a configuration of the virtual machine system. In FIG. 10, numeral 90 denotes a real host computer, numeral 91 denotes a central processing unit (CPU), numeral 92 denotes a main storage having a VMCP loaded therein, numeral 93 denotes an I/O processor, numeral 94 denotes an I/O control unit and numerals 90-1, 90-2 and 90-3 denote virtual machines (VM's) logically configured by the VMCP. The VM 90-1 comprises a CPU 91-1, a main storage 92-1, an I/O processor 93-1 and an I/O control unit 94-1. Similarly, the VM 90-2 comprises a CPU 91-2, a main storage 92-2, an I/O processor 93-2 and an I/O control unit 94-2. The VM 90-3 comprises a CPU 91-3, a main storage 92-3, an I/O processor 93-3 and an I/O control unit 94-3. While three virtual machines are configured in FIG. 10, more than three virtual machines may be configured by the VMCP. Each of the VM 90-1, VM 90-2 and VM 90-3 is logically constructed to have the essentially same hardware configuration as that of the real host computer (hereinafter referred to as a host system). An operating system OS which controls and operates the VM resides in the main storage 92-i (i=1, 2, 3) of each VM, and the plurality of OS's concurrently run under one host system. The hardware configuration (CPU, main storage, I/O devices and I/O control unit) in each VM of FIG. 10 is logically constructed by the VMCP and a substantial portion thereof is present on the hardware configuration corresponding to the host system. For example, the main storage of the VM may occupy a portion of the main storage 92 of the host system or may share it. The I/O device of the VM may share the I/O devices of the host system with other VM's or may occupy some of them. In a certain case, there is no corresponding I/O device on the host system but it is virtually constructed by the VMCP. In any case, the OS on the main storage 92-i (i=1, 2, 3) of each VM can see essentially the same hardware configuration (CPU, main storage, I/O processor and I/O control unit) as that of the host system.
In such a virtual machine system, the VMCP will always intervene when an I/O instruction of the OS on the VM is executed. Accordingly, a simulation therefor is necessary and the simulation overhead of the VMCP is large when the frequency of I/O instruction execution is high. In order to reduce the overhead due to the simulation of the I/O instruction from the VM, the inventors of the present invention have proposed "I/O Execution System in a Virtual Machine System" in which the I/O instruction from the VM is directly executed by the hardware without intervention of the VMCP (Japanese Patent Application No. 59-5587, filed on Jan. 18, 1984; U.S. application Ser. No. 691,909 filed on Jan. 16, 1985; EP application Ser. No. 85100372.3 filed on Jan. 16, 1985 and PRC application Ser. No. 85101171 filed on Apr. 1, 1985.). In the proposed system, however, switching between the direct execution mode and a mode in which the simulation is effected by the VMCP, without stopping the VM during its run, is not attained.